This section provides background information related to the present disclosure which is not necessarily prior art.
Companies that have distributed or web-based applications often have a variety of tools that collect data about the performance of these applications. Specifically, tools are used to measure the end-user response time of the applications, along with multiple metrics on the web servers, application servers, databases, and the physical servers that host the applications or application components. Metric data collected includes Quality of Service, CPU utilization, disk I/O rates, TCP transmission errors, etc. Performance management tools generally provide reports on the metrics being collected, but they do not automatically show the software services, metrics, hardware devices and other computing infrastructure related to the application experiencing a particular problem, or how the problem affects an agreed upon schedule of service. The user is forced to manually sift through volumes of data with the required a priori knowledge of how the applications and services are related.
Furthermore, a web-based application may be served to an end terminal or another application from one or more physical servers, which may be located in a larger computing infrastructure. Thus, it is desirable for a user to be able to see when the various components of the infrastructure are being used. For instance, if an application is being served according to a predetermined schedule by a plurality of servers in a server bank, it can be useful to allow the user to see which servers and/or server banks are serving the application and when they are serving the application.
Additionally, if the software application is being served to a customer, the schedule of service may be defined by a service level agreement (SLA), which defines a minimum threshold of quality of service that must be maintained at specific times. These schedules may also have priorities such as peak and non-peak service times of the software application. As can be appreciated, it may be advantageous to allow the user to know when a particular component of the computing infrastructure must be available to adhere to the SLA governing the service of the software application.
Therefore, it is desirable to provide a method for propagating a schedule of service throughout a service model representing the computing infrastructure so that a user can determine which components must be available at what times. Thus, when the user identifies a cause of a performance problem experienced by an application in a computing environment, the user can easily identify other components that are not in use so that a breach of the SLA may be avoided.